Search Result for "precedence lossage":

The Jargon File (version 4.4.7, 29 Dec 2003):

precedence lossage /pre's@?dens los'@j/, n. [C programmers] Coding error in an expression due to unexpected grouping of arithmetic or logical operators by the compiler. Used esp. of certain common coding errors in C due to the nonintuitively low precedence levels of &, |, ^, <<, and >> (for this reason, experienced C programmers deliberately forget the language's baroque precedence hierarchy and parenthesize defensively). Can always be avoided by suitable use of parentheses. LISP fans enjoy pointing out that this can't happen in their favorite language, which eschews precedence entirely, requiring one to use explicit parentheses everywhere. See aliasing bug, memory leak, memory smash, smash the stack, fandango on core, overrun screw.
The Free On-line Dictionary of Computing (30 December 2018):

precedence lossage /pre's*-dens los'*j/ A misunderstanding of operator precedence resulting in unintended grouping of arithmetic or logical operators when coding an expression. Used especially of mistakes in C code due to the nonintuitively low precedence of "&", "|", "^", "<<" and ">>". For example, the following C expression, intended to test the least significant bit of x, x & 1 == 0 is parsed as x & (1 == 0) which is always zero (false). Some lazy programmers ignore precedence and parenthesise everything. Lisp fans enjoy pointing out that this can't happen in *their* favourite language, which eschews precedence entirely, requiring one to use explicit parentheses everywhere. [Jargon File] (1994-12-16)